#ifndef RAY_TRACEABLE_H_
#define RAY_TRACEABLE_H_

#ifdef _DEBUG
#define DEBUGGING
#endif //_DEBUG

class Ray;
class ContactData;

class RayTraceable
{
public:
    virtual ~RayTraceable() = 0 {}
    /* The main function that is to be defined by any derived classes */
    virtual bool Hit(const Ray& ray, float& tmin, ContactData& data) const = 0 {return true;}
};

#endif